%%%-------------------------------------------------------------------
%%% @author mirahs(2892727493@qq.com)
%%% @doc
%%%     角色数据
%%% @end
%%%-------------------------------------------------------------------

%% 性别
-define(male, 1). 	%男
-define(female, 2). %女

%% 角色标识代号
-define(role_label_player, 0).          %普通玩家
-define(role_label_internal, 1).        %内部玩家
-define(role_label_gm, 2).              %gm
-define(role_label_tester, 3).          %机器人

-define(role_time_loop_check,	3).		%角色循环检查时间(秒)


-record(role, {
	pid						%进程id

	% 角色基础数据
	,rid = 0
	,sid = 0
	,account = <<>>     	%帐号
	,name = <<>>        	%%昵称
	,sex = 0            	%性别
	,label = 0          	%特殊标识，比如标记是否GM，是否新手指导员等
	,lev = 0            	%等级

	,status = 0         	%角色状态，状态代号参见上面
	,online_time = 0    	%累计在线时长(秒)
	,day_online = 0	 		%今日在线时长(秒)
	,last_charge_time = 0 	%最后充值时间 0

	,date_reset          	%每天重置日期 {Y,M,D}
	,login_info          	%登录信息 #login_info{}
	,assets              	%资产类属性 #assets{}

	% 模块相关数据

	% 角色上线后计算属性 (不保存)
	,is_online = 0			%是否在线
	,link               	%连接属性 #link{}
	,plat_info				%平台相关信息 bitstring
	,event                	%事件 #event{}
	,timer = []         	%定时器 [#timer{}]
}).

%% 登入登出信息
-define(login_info_ver, 1).
-record(login_info, {
	ver = ?login_info_ver

	,reg_time = 0       %注册时间戳
	,reg_ip = <<>>      %注册ip

	,login_time = 0     %本次登录时间戳
	,login_ip = <<>>    %登录ip

	,logout_time = 0    %本次离线时间戳，本次离线时间只在离线时记录,默认为0

	,last_login = 0     %上次登录时间戳，从未登录的角色上次时间戳为0
	,last_logout = 0    %上次离线时间戳，从未登录的角色上次时间戳为0
}).

%% 资产类属性
-record(assets, {
	exp = 0				%经验
	,gold = 0           %元宝
	,gold_bind = 0      %梆定元宝

	,charge = 0         %历史充值

	,gold_consume = 0   %历史元宝消费
}).


-record(rpc_cfg, {
	send_buff = true
	,big_type = 0
	,small_type = 0
	,cmd = 0
	,args = []
	,extra_log = false
}).

-define(role_offline_async_ver, 1).
-record(role_offline_async, {
	key = {0, 0}
	,ver = ?role_offline_async_ver

	,rid = 0
	,event			%mfa
	,expire = 0
}).
